REM >Director:Menus.ModulesCOM

REM Displays all modules *Commands

REM 1.00 28/11/95 R.Thickings Started

ON ERROR: ON ERROR OFF: ERROR ERR,REPORT$+" at "+STR$ ERL
SYS "OS_GetEnv" TO in$
title$=FNarg(in$,"-do","")

Menu%=FNswi_number("Director_Menu")
Option%=FNswi_number("Director_Option")
Command%=FNswi_number("Director_Command")
Dash%=FNswi_number("Director_Dash")
EndMenu%=FNswi_number("Director_EndMenu")
XOS_Module%=FNswi_number("XOS_Module")
SYS XOS_Module%,18,title$ TO ,,,base%,,;flag%
IF (flag% AND 1) THEN END

menu$=title$+" Commands"

OSCLI "*Set Director$Menu ModulesCom"
SYS Menu%,""""+menu$+""" <Director$Menu> -temp"

start%=base%+base%!&18
WHILE ?start%<>0
 command$=FN0(start%)
 start%+=LEN command$+1
 align%=(start% AND 3)
 IF align%>0 THEN align%=4-align%
 start%+=align%+16
 SYS Option%,"""*"+command$+""" -sub ""Dynamic:/Director:Menus.System.CommMenu """"Help "+command$+""""" "" "
ENDWHILE

SYS EndMenu%,"-sort"


END

DEF FNarg(str$,arg$,def$)
LOCAL i,j
i=INSTR(str$,arg$)
IF i=0 THEN =def$
i+=LEN arg$+1
j=INSTR(str$+" <"," ",i)
=MID$(str$,i,j-i)

DEF FNswi_number(name$)
  SYS "OS_SWINumberFromString",,name$ TO A%
=A%

DEF FN0(a%)
LOCAL m%:m%=255
s$=""
WHILE (?a%>=32 OR ?a%=9) AND m%<>0
 s$+=CHR$?a%
 a%+=1:m%-=1
ENDWHILE
=s$

